import { Model } from 'sutando';
import AdminUsers from '../models/AdminUsers.ts';
import AdminPermissions from '../models/AdminPermissions.ts';
import dayjs from 'dayjs';

export default class AdminRole extends Model {
  table = 'admin_roles';       // 数据表名
  primaryKey = 'id';           // 主键
  timestamps = true;           // 自动维护 created_at 和 updated_at 字段

  serializeDate(date) {
    return dayjs(date).format('YYYY-MM-DD HH:mm:ss');
  }

  // 一个角色可以对应多个用户
  relationUsers() {
    return this.belongsToMany(AdminUsers, 'admin_role_users', 'role_id', 'user_id');
  }

  // 一个角色可以拥有多个权限
  relationPermissions() {
    return this.belongsToMany(AdminPermissions, 'admin_role_permissions', 'role_id', 'permission_id');
  }
}
